// // 从上到下梳理一遍
// 首先要求的是一个数组中除了该数字之外的所有数字的乘积的数组
// 比如[1,2,3,4,5] ==> [120,60,40,30,24]
// 这样的话 可以采用的方法是 
// 如果这个数字是头 那么前面所有的乘积就是1
// 获得这个数字的前面所有数字的乘积的数组 [1,1,2,6,24]
// 如果这个数字是最后一个数字 那么他后面所有的乘积也是1
// 获得这个数字后面所有的乘积的数组 [120,60,30,5,1]
// 最后 这个结果数组就是 这个数字 前面所有的乘积 * 后面所有的乘积
function multiply(array)
{
    // write code here
    // 定义一个前置乘积的数组
    // 定义一个后置乘积的数组
    var pre = []
    var next = []
    // 定义一个结果的数组
    var res = []
    // 定义得到数组长度
    var n = array.length
    // 遍历数组 生成前置数组
    for(let i = 0;i < n ;i++){
      // 如果这个是第一位数字
      if(i === 0){
        // 前面的乘积是1
        pre[i] = 1
      }else{
        // 否则前面的 乘积 是上一个乘积乘以 前一个数字
        pre[i] = pre[i-1] * array[i-1]
      }
    }
    // 遍历数组 得到后置乘积数组
    for(var i = n-1 ;i >= 0;i--){
      //如果 这个数字是最后一个数组 name他的后置乘积就是1
      if(i === n-1){
        next[i] = 1
      }else{
        // 否则 他的后置乘积就是 后一个数组的后置乘积 * 后一个数字
        next[i] = next[i+1] * array[i+1]
      }
    }
    // 遍历数组 得到结果数组 结果数组就是 前置数组 * 后置数组
    for(var i = 0;i<n ;i++){
      res[i] = pre[i] * next[i]
    } 
    return res
}
module.exports = {
    multiply : multiply
};